Le logiciel de calcul de structure RFEM 6 constitue la base d'une famille de logiciels modulaires. Le logiciel de base RFEM 6 permet de définir la structure, les matériaux et les sollicitations de structures planes et spatiales composées de barres, plaques, voiles et coques. Vous pouvez aussi travailler sur des structures combinées constituées de solides et d'éléments de contact.
Grâce à RSTAB, l'ingénieur structure a accès à un logiciel de structures filaires 3D qui répond aux exigences du calcul de structure moderne et reflète l'état actuel des techniques de construction.
Vous passez souvent trop de temps à calculer des sections ? Les logiciels Dlubal et le programme autonome RSECTION vous facilitent la tâche en déterminant et en effectuant une analyse des contraintes pour différentes sections.
Savez-vous toujours d'où vient le vent ? Du côté de l'innovation, bien sûr ! Avec RWIND 2, vous disposez d'un programme utilisant une soufflerie numérique pour la simulation numérique des flux de vent. Le programme simule ces flux autour de n'importe quelle géométrie de bâtiment et détermine les charges de vent sur les surfaces.
Vous souhaitez obtenir un aperçu des zones de charge de neige, des zones de vent et des zones sismiques ? Si tel est le cas, vous êtes au bon endroit. Utilisez notre outil de géolocalisation pour déterminer rapidement et efficacement les zones de neige, de vent et de sismicité selon l'Eurocode et d'autres normes internationales.
Souhaitez-vous tester la puissance des logiciels Dlubal Software ? C'est votre chance ! Avec la version complète gratuite de 90 jours, vous pouvez tester l'ensemble de nos logiciels.
L'exemple de programme montre deux méthodes différentes pour créer des appuis nodaux. Le type d'énumération NodalSupportType est utilisé pour le premier appui nodal.
NodalSupportType
Une liste peut également être transférée. La liste doit contenir 6 valeurs. Les trois premières valeurs définissent les degrés de liberté de déplacement, les trois dernières les degrés de liberté de torsion.
La valeur inf signifie que le degré de liberté est fixe. Avec 0, le degré de liberté n'est pas disponible. Une valeur numérique définit un ressort.
inf
0
La rotation d'un appui nodal est effectuée à l'aide d'un système de coordonnées défini par l'utilisateur. Dans l'exemple suivant, un appui nodal est en rotation à 45 ° autour de l'axe z. Il n'est pas nécessaire de définir un nouveau système de coordonnées via les nœuds. Dans ce cas, il suffit d'utiliser l'option RotatedSystemType, qui permet une rotation spatiale de l'appui via les trois rotations autour des axes x, y et z. La rotation est entrée en radians :
Sous test_appui_nodal ()Dim iApp As RFEM5.ApplicationSet iApp = GetObject(, "RFEM5.Application")iApp.LockLicenseDim iMod As RFEM5.IModel3Set iMod = iApp.GetActiveModelOn Error GoTo e'obtenir l'interface des données du modèleDim iModData As RFEM5.IModelData2Set iModData = iMod.GetModelData'obtenir l'interface de l'appui nodalDim iNs comme RFEM5.INodalSupportDéfinir iNs = iModData.GetNodalSupport (1, AtNo)'obtenir les données de l'appui nodalDim ns As RFEM5.NodalSupportns = iNs.GetData'modifier les donnéesns.ReferenceSystem = UserDefinedSystemTypens.UserDefinedReferenceSystem.Axis1 = AxisXns.UserDefinedReferenceSystem.Axis2 = AxeYns.UserDefinedReferenceSystem.Type = RotatedSystemTypens.UserDefinedReferenceSystem.RotationAngles.X = 0ns.UserDefinedReferenceSystem.RotationAngles.Y = 0ns.UserDefinedReferenceSystem.RotationAngles.Z = 45 * 3,14159265359/180'obtenir les données de l'appui nodaliModData.PrepareModificationiNs.SetData nsiModData.FinishModificatione:If Err.Number <> 0 Then MsgBox Err.description, vbCritical, Err.SourceiMod.GetApplication.UnlockLicenseSet iMod = NothingEnd Sub
Le programme prélève l'appui nodal existant du modèle actuellement ouvert puis le modifie. Le système de coordonnées défini par l'utilisateur ne faisant pas directement partie de l'interface INodalSupport de l'appui nodal, la rotation peut également être transférée lors de la création d'un appui nodal.
La macro VBA suivante permet de créer un appui nodal avec un diagramme de non-linéarité. Le code source est disponible au bas de cet article dans la section Téléchargements.
Lors de la programmation de l'interface COM, un appui nodal a les propriétés « ReferenceSystem » et « UserDefinedReferenceSystem ». « ReferenceSystem » permet de définir le type du système de coordonnées personnalisé (« Tourné » ou « Système de coordonnées », par exemple). Selon la sélection, le type est ensuite défini via « UserDefinedReferenceSystem ».
Dans l'exemple ci-dessous, le type « Système de coordonnées » a été défini et un système de coordonnées personnalisé a été créé :
// create user defined coordinate systemIGuideObjects iGuide = iModel.GetGuideObjects();// delete cosy No 2UserCoordinateSystem[] csList = iGuide.GetCoordinateSystems();if (csList.Length > 1){ for (int i = 0; i < csList.Length; ++i) { if (csList[i].No == 2) { iGuide.PrepareModification(); iGuide.DeleteObjects(GuideObjectType.CoordinateSystemObject, "2"); iGuide.FinishModification(); } }}// define new cosy No 2UserCoordinateSystem uCs = new UserCoordinateSystem();uCs.Name = "test";uCs.Comment = "test";uCs.No = 2;uCs.IsValid = true;uCs.Origin.X = 1;uCs.Origin.Y = 0;uCs.Origin.Z = 1;uCs.Point1.X = 2;uCs.Point1.Y = 0;uCs.Point1.Z = 1;uCs.Point2.X = 1;uCs.Point2.Y = 1;uCs.Point2.Z = 2;// set cosy No 2iGuide.PrepareModification();iGuide.SetCoordinateSystem(uCs);iGuide.FinishModification();// create nodal support with user defined cosyNodalSupport ns = new NodalSupport();ns.SupportConstantX = -1;ns.SupportConstantY = -1;ns.SupportConstantZ = -1;ns.RestraintConstantX = -1;ns.RestraintConstantY = 0;ns.RestraintConstantZ = -1;ns.Comment = "user defined cosy";ns.NodeList = "1";ns.ReferenceSystem = ReferenceSystemType.UserDefinedSystemType;ns.UserDefinedReferenceSystem.ObjectNo = 2;ns.UserDefinedReferenceSystem.Type = UserDefinedAxisSystemType.DefinedCoordinateSystemType;iModData.PrepareModification();iModData.SetNodalSupport(ns);iModData.FinishModification();
Pour créer le système de coordonnées, vous devez utiliser l'interface pour les objets auxiliaires : « IGuideObjects ». Avec la fonction « DeleteObjects () », le système de coordonnées existant avec le numéro 2 est d'abord supprimé et un nouveau système de coordonnées est créé avec « SetCoordinateSystem () ». Vérifiez que le bloc « Prepare/Finish-Modification » est bien présent afin de transférer le nouvel élément.
L'appui nodal est transféré via l'interface « IModelData ». Le bloc « Prepare/Finish-Modification » est également requis ici.